FHIR © HL7.org  |  Server Home  |  XIG Home  |  XIG Stats  |  Server Source  |  FHIR  

FHIR IG Statistics: StructureDefinition/register-client-model

Packageng.gov.nphcda.immunization
Resource TypeStructureDefinition
Idregister-client-model
FHIR VersionR4
Sourcehttp://nphcda.gov.ng/ig/immunization/https://build.fhir.org/ig/Nigeria-FHIR-Community/ImmunizationIG/StructureDefinition-register-client-model.html
URLhttp://nphcda.gov.ng/ig/immunization/StructureDefinition/register-client-model
Version1.0.0
Statusdraft
Date2025-08-04T10:06:52+00:00
NameRegisterClientModel
TitleNG-Imm-C5 RegisterClient
DescriptionIMMZ.C5 - A logical model representing a client being registered in the immunization system.
Typehttp://nphcda.gov.ng/ig/immunization/StructureDefinition/register-client-model
Kindlogical

Resources that use this resource

No resources found


Resources that this resource uses

No resources found


Narrative

Note: links and images are rebased to the (stated) source

Generated Narrative: StructureDefinition register-client-model

NameFlagsCard.TypeDescription & Constraintsdoco
.. register-client-model 0..*BaseNG-Imm-C5 RegisterClient
... identifier 1..1stringUnique identifier for clients including the national identification number, medical records number, immunization information system ID, and others.
... name 1..1BackboneElementThe full name of the client.
.... family 1..1stringClient's family name or last name.
.... given 1..1stringClient's first name or given name.
... sex 1..1CodeableConceptSex
... dateOfBirth 1..1dateClient's date of birth (DOB) if known. If unknown, use assigned DOB for administrative purposes.
... ageInWeeks 0..1integerThe client's calculated age (number of weeks) based on the date of birth and the visit date.
... ageInMonths 0..1integerThe client's calculated age (number of months) based on the date of birth and the visit date.
... ageInYears 0..1integerThe client's calculated age (number of years) based on the date of birth and the visit date.
... weightAtBirth 0..1QuantityClient's weight at birth in Kg.
... address 0..1BackboneElementClient's residential address.
.... residentialAddress 0..1stringChild's residential address.
.... houseNumber 0..1stringThe number of the house where the client lives.
.... village 0..1stringThe village where the client lives.
.... town 0..1stringThe town or city where the client resides.
.... ward 0..1CodeableConceptThe ward where the client lives.
.... lga 0..1CodeableConceptLocal Government Authority where the client lives.
.... state 0..1CodeableConceptThe state where the client lives.
... contact 0..*BackboneElementThe client's caregiver (person) which could be next of kin (e.g. partner, husband, mother, sibling, etc.).
.... name 1..1BackboneElementThe full name of the caregiver.
..... family 1..1stringFamily name of the caregiver.
..... given 1..1stringGiven name of the caregiver.
.... telecom 0..*ContactPointPhone number of the caregiver.
..... system 1..1codeType of communication (e.g., phone, email).
..... value 1..1stringCaregiver's contact number or address.
.... relationship 0..1CodeableConceptThe relationship of the caregiver to the client.
..... text 0..*stringCaregiver relationship dsiplay text.
... otherChildren 0..*BackboneElementAny other children the mother has.
.... name 1..1stringThe full name of the mother's other children.
.... birthYear 1..1integerThe year the mother's children were born.
.... sex 1..1CodeableConceptBiological characteristics that define humans as female or male.
... healthStatus 0..1CodeableConceptOverall physical, mental, and emotional well-being of the Sibling.
... hivStatus 0..1CodeableConceptHIV status of the client.
... pregnancyStatus 0..1CodeableConceptConfirms whether the client is pregnant or not.

doco Documentation for this format

Source

{
  "resourceType": "StructureDefinition",
  "id": "register-client-model",
  "text": {
    "status": "extensions",
    "div": "<!-- snip (see above) -->"
  },
  "url": "http://nphcda.gov.ng/ig/immunization/StructureDefinition/register-client-model",
  "version": "1.0.0",
  "name": "RegisterClientModel",
  "title": "NG-Imm-C5 RegisterClient",
  "status": "draft",
  "date": "2025-08-04T10:06:52+00:00",
  "publisher": "https://nphcda.gov.ng",
  "contact": [
    {
      "name": "https://nphcda.gov.ng",
      "telecom": [
        {
          "system": "url",
          "value": "https://nphcda.gov.ng"
        },
        {
          "system": "email",
          "value": "kasim.sani@nphcda.gov.ng"
        }
      ]
    },
    {
      "name": "Nigeria Primary Healthcare Development Agency.",
      "telecom": [
        {
          "system": "email",
          "value": "ig@nphcda.gov.ng",
          "use": "work"
        }
      ]
    }
  ],
  "description": "IMMZ.C5 - A logical model representing a client being registered in the immunization system.",
  "jurisdiction": [
    {
      "coding": [
        {
          "system": "urn:iso:std:iso:3166",
          "code": "NG",
          "display": "Nigeria"
        }
      ]
    }
  ],
  "fhirVersion": "4.0.1",
  "kind": "logical",
  "abstract": false,
  "type": "http://nphcda.gov.ng/ig/immunization/StructureDefinition/register-client-model",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Base",
  "derivation": "specialization",
  "snapshot": {
    "extension": [
      {
        "url": "http://hl7.org/fhir/tools/StructureDefinition/snapshot-base-version",
        "valueString": "4.0.1"
      }
    ],
    "element": [
      {
        "id": "register-client-model",
        "path": "register-client-model",
        "short": "NG-Imm-C5 RegisterClient",
        "definition": "IMMZ.C5 - A logical model representing a client being registered in the immunization system.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "Base",
          "min": 0,
          "max": "*"
        },
        "isModifier": false
      },
      {
        "id": "register-client-model.identifier",
        "path": "register-client-model.identifier",
        "short": "Unique identifier for clients including the national identification number, medical records number, immunization information system ID, and others.",
        "definition": "Unique identifier for clients including the national identification number, medical records number, immunization information system ID, and others.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "register-client-model.identifier",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.name",
        "path": "register-client-model.name",
        "short": "The full name of the client.",
        "definition": "The full name of the client.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "register-client-model.name",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ]
      },
      {
        "id": "register-client-model.name.id",
        "path": "register-client-model.name.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.name.extension",
        "path": "register-client-model.name.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.name.modifierExtension",
        "path": "register-client-model.name.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "register-client-model.name.family",
        "path": "register-client-model.name.family",
        "short": "Client's family name or last name.",
        "definition": "Client's family name or last name.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "register-client-model.name.family",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.name.given",
        "path": "register-client-model.name.given",
        "short": "Client's first name or given name.",
        "definition": "Client's first name or given name.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "register-client-model.name.given",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.sex",
        "path": "register-client-model.sex",
        "code": [
          {
            "code": "NGGenderVS"
          }
        ],
        "short": "Sex",
        "definition": "Documentation of a specific instance of sex information for the client.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "register-client-model.sex",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.dateOfBirth",
        "path": "register-client-model.dateOfBirth",
        "short": "Client's date of birth (DOB) if known. If unknown, use assigned DOB for administrative purposes.",
        "definition": "Client's date of birth (DOB) if known. If unknown, use assigned DOB for administrative purposes.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "register-client-model.dateOfBirth",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "date"
          }
        ]
      },
      {
        "id": "register-client-model.ageInWeeks",
        "path": "register-client-model.ageInWeeks",
        "short": "The client's calculated age (number of weeks) based on the date of birth and the visit date.",
        "definition": "The client's calculated age (number of weeks) based on the date of birth and the visit date.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.ageInWeeks",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "register-client-model.ageInMonths",
        "path": "register-client-model.ageInMonths",
        "short": "The client's calculated age (number of months) based on the date of birth and the visit date.",
        "definition": "The client's calculated age (number of months) based on the date of birth and the visit date.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.ageInMonths",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "register-client-model.ageInYears",
        "path": "register-client-model.ageInYears",
        "short": "The client's calculated age (number of years) based on the date of birth and the visit date.",
        "definition": "The client's calculated age (number of years) based on the date of birth and the visit date.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.ageInYears",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "register-client-model.weightAtBirth",
        "path": "register-client-model.weightAtBirth",
        "short": "Client's weight at birth in Kg.",
        "definition": "Client's weight at birth in Kg.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.weightAtBirth",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Quantity"
          }
        ]
      },
      {
        "id": "register-client-model.address",
        "path": "register-client-model.address",
        "short": "Client's residential address.",
        "definition": "Client's residential address.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.address",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ]
      },
      {
        "id": "register-client-model.address.id",
        "path": "register-client-model.address.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.address.extension",
        "path": "register-client-model.address.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.address.modifierExtension",
        "path": "register-client-model.address.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "register-client-model.address.residentialAddress",
        "path": "register-client-model.address.residentialAddress",
        "short": "Child's residential address.",
        "definition": "Child's residential address.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.address.residentialAddress",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.address.houseNumber",
        "path": "register-client-model.address.houseNumber",
        "short": "The number of the house where the client lives.",
        "definition": "The number of the house where the client lives.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.address.houseNumber",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.address.village",
        "path": "register-client-model.address.village",
        "short": "The village where the client lives.",
        "definition": "The village where the client lives.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.address.village",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.address.town",
        "path": "register-client-model.address.town",
        "short": "The town or city where the client resides.",
        "definition": "The town or city where the client resides.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.address.town",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.address.ward",
        "path": "register-client-model.address.ward",
        "code": [
          {
            "code": "NGWardsVS"
          }
        ],
        "short": "The ward where the client lives.",
        "definition": "The ward where the client lives.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.address.ward",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.address.lga",
        "path": "register-client-model.address.lga",
        "code": [
          {
            "code": "NGLGAsVS"
          }
        ],
        "short": "Local Government Authority where the client lives.",
        "definition": "Local Government Authority where the client lives.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.address.lga",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.address.state",
        "path": "register-client-model.address.state",
        "code": [
          {
            "code": "NGStatesVS"
          }
        ],
        "short": "The state where the client lives.",
        "definition": "The state where the client lives.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.address.state",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.contact",
        "path": "register-client-model.contact",
        "short": "The client's caregiver (person) which could be next of kin (e.g. partner, husband, mother, sibling, etc.).",
        "definition": "The client's caregiver (person) which could be next of kin (e.g. partner, husband, mother, sibling, etc.).",
        "min": 0,
        "max": "*",
        "base": {
          "path": "register-client-model.contact",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ]
      },
      {
        "id": "register-client-model.contact.id",
        "path": "register-client-model.contact.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.contact.extension",
        "path": "register-client-model.contact.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.contact.modifierExtension",
        "path": "register-client-model.contact.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "register-client-model.contact.name",
        "path": "register-client-model.contact.name",
        "short": "The full name of the caregiver.",
        "definition": "The full name of the caregiver.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "register-client-model.contact.name",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ]
      },
      {
        "id": "register-client-model.contact.name.id",
        "path": "register-client-model.contact.name.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.contact.name.extension",
        "path": "register-client-model.contact.name.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.contact.name.modifierExtension",
        "path": "register-client-model.contact.name.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "register-client-model.contact.name.family",
        "path": "register-client-model.contact.name.family",
        "short": "Family name of the caregiver.",
        "definition": "Family name of the caregiver.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "register-client-model.contact.name.family",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.contact.name.given",
        "path": "register-client-model.contact.name.given",
        "short": "Given name of the caregiver.",
        "definition": "Given name of the caregiver.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "register-client-model.contact.name.given",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.contact.telecom",
        "path": "register-client-model.contact.telecom",
        "short": "Phone number of the caregiver.",
        "definition": "Phone number of the caregiver.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "register-client-model.contact.telecom",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "ContactPoint"
          }
        ],
        "constraint": [
          {
            "key": "cpt-2",
            "severity": "error",
            "human": "A system is required if a value is provided.",
            "expression": "value.empty() or system.exists()",
            "xpath": "not(exists(f:value)) or exists(f:system)"
          },
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ]
      },
      {
        "id": "register-client-model.contact.telecom.id",
        "path": "register-client-model.contact.telecom.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.contact.telecom.extension",
        "path": "register-client-model.contact.telecom.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.contact.telecom.system",
        "path": "register-client-model.contact.telecom.system",
        "short": "Type of communication (e.g., phone, email).",
        "definition": "Type of communication (e.g., phone, email).",
        "min": 1,
        "max": "1",
        "base": {
          "path": "ContactPoint.system",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "condition": [
          "cpt-2"
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ContactPointSystem"
            }
          ],
          "strength": "required",
          "description": "Telecommunications form for contact point.",
          "valueSet": "http://hl7.org/fhir/ValueSet/contact-point-system|4.0.1"
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "XTN.3"
          },
          {
            "identity": "rim",
            "map": "./scheme"
          },
          {
            "identity": "servd",
            "map": "./ContactPointType"
          }
        ]
      },
      {
        "id": "register-client-model.contact.telecom.value",
        "path": "register-client-model.contact.telecom.value",
        "short": "Caregiver's contact number or address.",
        "definition": "Caregiver's contact number or address.",
        "comment": "Additional text data such as phone extension numbers, or notes about use of the contact are sometimes included in the value.",
        "requirements": "Need to support legacy numbers that are not in a tightly controlled format.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "ContactPoint.value",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "XTN.1 (or XTN.12)"
          },
          {
            "identity": "rim",
            "map": "./url"
          },
          {
            "identity": "servd",
            "map": "./Value"
          }
        ]
      },
      {
        "id": "register-client-model.contact.telecom.use",
        "path": "register-client-model.contact.telecom.use",
        "short": "home | work | temp | old | mobile - purpose of this contact point",
        "definition": "Identifies the purpose for the contact point.",
        "comment": "Applications can assume that a contact is current unless it explicitly says that it is temporary or old.",
        "requirements": "Need to track the way a person uses this contact, so a user can choose which is appropriate for their purpose.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ContactPoint.use",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "code"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": true,
        "isModifierReason": "This is labeled as \"Is Modifier\" because applications should not mistake a temporary or old contact etc.for a current/permanent one",
        "isSummary": true,
        "binding": {
          "extension": [
            {
              "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName",
              "valueString": "ContactPointUse"
            }
          ],
          "strength": "required",
          "description": "Use of contact point.",
          "valueSet": "http://hl7.org/fhir/ValueSet/contact-point-use|4.0.1"
        },
        "mapping": [
          {
            "identity": "v2",
            "map": "XTN.2 - but often indicated by field"
          },
          {
            "identity": "rim",
            "map": "unique(./use)"
          },
          {
            "identity": "servd",
            "map": "./ContactPointPurpose"
          }
        ]
      },
      {
        "id": "register-client-model.contact.telecom.rank",
        "path": "register-client-model.contact.telecom.rank",
        "short": "Specify preferred order of use (1 = highest)",
        "definition": "Specifies a preferred order in which to use a set of contacts. ContactPoints with lower rank values are more preferred than those with higher rank values.",
        "comment": "Note that rank does not necessarily follow the order in which the contacts are represented in the instance.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ContactPoint.rank",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "positiveInt"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "n/a"
          },
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.contact.telecom.period",
        "path": "register-client-model.contact.telecom.period",
        "short": "Time period when the contact point was/is in use",
        "definition": "Time period when the contact point was/is in use.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "ContactPoint.period",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "Period"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "N/A"
          },
          {
            "identity": "rim",
            "map": "./usablePeriod[type=\"IVL<TS>\"]"
          },
          {
            "identity": "servd",
            "map": "./StartDate and ./EndDate"
          }
        ]
      },
      {
        "id": "register-client-model.contact.relationship",
        "path": "register-client-model.contact.relationship",
        "short": "The relationship of the caregiver to the client.",
        "definition": "The relationship of the caregiver to the client.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.contact.relationship",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ]
      },
      {
        "id": "register-client-model.contact.relationship.id",
        "path": "register-client-model.contact.relationship.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.contact.relationship.extension",
        "path": "register-client-model.contact.relationship.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.contact.relationship.coding",
        "path": "register-client-model.contact.relationship.coding",
        "short": "Code defined by a terminology system",
        "definition": "A reference to a code defined by a terminology system.",
        "comment": "Codes may be defined very casually in enumerations, or code lists, up to very formal definitions such as SNOMED CT - see the HL7 v3 Core Principles for more information.  Ordering of codings is undefined and SHALL NOT be used to infer meaning. Generally, at most only one of the coding values will be labeled as UserSelected = true.",
        "requirements": "Allows for alternative encodings within a code system, and translations to other code systems.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "CodeableConcept.coding",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Coding"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.1-8, C*E.10-22"
          },
          {
            "identity": "rim",
            "map": "union(., ./translation)"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.coding rdfs:subPropertyOf dt:CD.coding"
          }
        ]
      },
      {
        "id": "register-client-model.contact.relationship.text",
        "extension": [
          {
            "url": "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable",
            "valueBoolean": true
          }
        ],
        "path": "register-client-model.contact.relationship.text",
        "short": "Caregiver relationship dsiplay text.",
        "definition": "Caregiver relationship dsiplay text.",
        "comment": "Very often the text is the same as a displayName of one of the codings.",
        "requirements": "The codes from the terminologies do not always capture the correct meaning with all the nuances of the human using them, or sometimes there is no appropriate code at all. In these cases, the text is used to capture the full meaning of the source.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "CodeableConcept.text",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ],
        "isModifier": false,
        "isSummary": true,
        "mapping": [
          {
            "identity": "v2",
            "map": "C*E.9. But note many systems use C*E.2 for this"
          },
          {
            "identity": "rim",
            "map": "./originalText[mediaType/code=\"text/plain\"]/data"
          },
          {
            "identity": "orim",
            "map": "fhir:CodeableConcept.text rdfs:subPropertyOf dt:CD.originalText"
          }
        ]
      },
      {
        "id": "register-client-model.otherChildren",
        "path": "register-client-model.otherChildren",
        "short": "Any other children the mother has.",
        "definition": "Any other children the mother has.",
        "min": 0,
        "max": "*",
        "base": {
          "path": "register-client-model.otherChildren",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "BackboneElement"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          }
        ]
      },
      {
        "id": "register-client-model.otherChildren.id",
        "path": "register-client-model.otherChildren.id",
        "representation": [
          "xmlAttr"
        ],
        "short": "Unique id for inter-element referencing",
        "definition": "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "Element.id",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "extension": [
              {
                "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type",
                "valueUrl": "string"
              }
            ],
            "code": "http://hl7.org/fhirpath/System.String"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.otherChildren.extension",
        "path": "register-client-model.otherChildren.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "description": "Extensions are always sliced by (at least) url",
          "rules": "open"
        },
        "short": "Additional content defined by implementations",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance  applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "alias": [
          "extensions",
          "user content"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "Element.extension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": false,
        "isSummary": false,
        "mapping": [
          {
            "identity": "rim",
            "map": "n/a"
          }
        ]
      },
      {
        "id": "register-client-model.otherChildren.modifierExtension",
        "path": "register-client-model.otherChildren.modifierExtension",
        "short": "Extensions that cannot be ignored even if unrecognized",
        "definition": "May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).",
        "comment": "There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions.  The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.",
        "requirements": "Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored.  This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).",
        "alias": [
          "extensions",
          "user content",
          "modifiers"
        ],
        "min": 0,
        "max": "*",
        "base": {
          "path": "BackboneElement.modifierExtension",
          "min": 0,
          "max": "*"
        },
        "type": [
          {
            "code": "Extension"
          }
        ],
        "constraint": [
          {
            "key": "ele-1",
            "severity": "error",
            "human": "All FHIR elements must have a @value or children",
            "expression": "hasValue() or (children().count() > id.count())",
            "xpath": "@value|f:*|h:div",
            "source": "http://hl7.org/fhir/StructureDefinition/Element"
          },
          {
            "key": "ext-1",
            "severity": "error",
            "human": "Must have either extensions or value[x], not both",
            "expression": "extension.exists() != value.exists()",
            "xpath": "exists(f:extension)!=exists(f:*[starts-with(local-name(.), \"value\")])",
            "source": "http://hl7.org/fhir/StructureDefinition/Extension"
          }
        ],
        "isModifier": true,
        "isModifierReason": "Modifier extensions are expected to modify the meaning or interpretation of the element that contains them",
        "isSummary": true,
        "mapping": [
          {
            "identity": "rim",
            "map": "N/A"
          }
        ]
      },
      {
        "id": "register-client-model.otherChildren.name",
        "path": "register-client-model.otherChildren.name",
        "short": "The full name of the mother's other children.",
        "definition": "The full name of the mother's other children.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "register-client-model.otherChildren.name",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.otherChildren.birthYear",
        "path": "register-client-model.otherChildren.birthYear",
        "short": "The year the mother's children were born.",
        "definition": "The year the mother's children were born.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "register-client-model.otherChildren.birthYear",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "register-client-model.otherChildren.sex",
        "path": "register-client-model.otherChildren.sex",
        "code": [
          {
            "code": "NGGenderVS"
          }
        ],
        "short": "Biological characteristics that define humans as female or male.",
        "definition": "Biological characteristics that define humans as female or male.",
        "min": 1,
        "max": "1",
        "base": {
          "path": "register-client-model.otherChildren.sex",
          "min": 1,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.healthStatus",
        "path": "register-client-model.healthStatus",
        "code": [
          {
            "code": "NGSiblingHealthStatusVS"
          }
        ],
        "short": "Overall physical, mental, and emotional well-being of the Sibling.",
        "definition": "Overall physical, mental, and emotional well-being of the Sibling.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.healthStatus",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.hivStatus",
        "path": "register-client-model.hivStatus",
        "code": [
          {
            "code": "NGHivStatusVS"
          }
        ],
        "short": "HIV status of the client.",
        "definition": "HIV status of the client.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.hivStatus",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.pregnancyStatus",
        "path": "register-client-model.pregnancyStatus",
        "code": [
          {
            "code": "NGPregnancyStatusVS"
          }
        ],
        "short": "Confirms whether the client is pregnant or not.",
        "definition": "Confirms whether the client is pregnant or not.",
        "min": 0,
        "max": "1",
        "base": {
          "path": "register-client-model.pregnancyStatus",
          "min": 0,
          "max": "1"
        },
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      }
    ]
  },
  "differential": {
    "element": [
      {
        "id": "register-client-model",
        "path": "register-client-model",
        "short": "NG-Imm-C5 RegisterClient",
        "definition": "IMMZ.C5 - A logical model representing a client being registered in the immunization system."
      },
      {
        "id": "register-client-model.identifier",
        "path": "register-client-model.identifier",
        "short": "Unique identifier for clients including the national identification number, medical records number, immunization information system ID, and others.",
        "definition": "Unique identifier for clients including the national identification number, medical records number, immunization information system ID, and others.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.name",
        "path": "register-client-model.name",
        "short": "The full name of the client.",
        "definition": "The full name of the client.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "register-client-model.name.family",
        "path": "register-client-model.name.family",
        "short": "Client's family name or last name.",
        "definition": "Client's family name or last name.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.name.given",
        "path": "register-client-model.name.given",
        "short": "Client's first name or given name.",
        "definition": "Client's first name or given name.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.sex",
        "path": "register-client-model.sex",
        "code": [
          {
            "code": "NGGenderVS"
          }
        ],
        "short": "Sex",
        "definition": "Documentation of a specific instance of sex information for the client.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.dateOfBirth",
        "path": "register-client-model.dateOfBirth",
        "short": "Client's date of birth (DOB) if known. If unknown, use assigned DOB for administrative purposes.",
        "definition": "Client's date of birth (DOB) if known. If unknown, use assigned DOB for administrative purposes.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "date"
          }
        ]
      },
      {
        "id": "register-client-model.ageInWeeks",
        "path": "register-client-model.ageInWeeks",
        "short": "The client's calculated age (number of weeks) based on the date of birth and the visit date.",
        "definition": "The client's calculated age (number of weeks) based on the date of birth and the visit date.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "register-client-model.ageInMonths",
        "path": "register-client-model.ageInMonths",
        "short": "The client's calculated age (number of months) based on the date of birth and the visit date.",
        "definition": "The client's calculated age (number of months) based on the date of birth and the visit date.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "register-client-model.ageInYears",
        "path": "register-client-model.ageInYears",
        "short": "The client's calculated age (number of years) based on the date of birth and the visit date.",
        "definition": "The client's calculated age (number of years) based on the date of birth and the visit date.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "register-client-model.weightAtBirth",
        "path": "register-client-model.weightAtBirth",
        "short": "Client's weight at birth in Kg.",
        "definition": "Client's weight at birth in Kg.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Quantity"
          }
        ]
      },
      {
        "id": "register-client-model.address",
        "path": "register-client-model.address",
        "short": "Client's residential address.",
        "definition": "Client's residential address.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "register-client-model.address.residentialAddress",
        "path": "register-client-model.address.residentialAddress",
        "short": "Child's residential address.",
        "definition": "Child's residential address.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.address.houseNumber",
        "path": "register-client-model.address.houseNumber",
        "short": "The number of the house where the client lives.",
        "definition": "The number of the house where the client lives.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.address.village",
        "path": "register-client-model.address.village",
        "short": "The village where the client lives.",
        "definition": "The village where the client lives.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.address.town",
        "path": "register-client-model.address.town",
        "short": "The town or city where the client resides.",
        "definition": "The town or city where the client resides.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.address.ward",
        "path": "register-client-model.address.ward",
        "code": [
          {
            "code": "NGWardsVS"
          }
        ],
        "short": "The ward where the client lives.",
        "definition": "The ward where the client lives.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.address.lga",
        "path": "register-client-model.address.lga",
        "code": [
          {
            "code": "NGLGAsVS"
          }
        ],
        "short": "Local Government Authority where the client lives.",
        "definition": "Local Government Authority where the client lives.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.address.state",
        "path": "register-client-model.address.state",
        "code": [
          {
            "code": "NGStatesVS"
          }
        ],
        "short": "The state where the client lives.",
        "definition": "The state where the client lives.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.contact",
        "path": "register-client-model.contact",
        "short": "The client's caregiver (person) which could be next of kin (e.g. partner, husband, mother, sibling, etc.).",
        "definition": "The client's caregiver (person) which could be next of kin (e.g. partner, husband, mother, sibling, etc.).",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "register-client-model.contact.name",
        "path": "register-client-model.contact.name",
        "short": "The full name of the caregiver.",
        "definition": "The full name of the caregiver.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "register-client-model.contact.name.family",
        "path": "register-client-model.contact.name.family",
        "short": "Family name of the caregiver.",
        "definition": "Family name of the caregiver.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.contact.name.given",
        "path": "register-client-model.contact.name.given",
        "short": "Given name of the caregiver.",
        "definition": "Given name of the caregiver.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.contact.telecom",
        "path": "register-client-model.contact.telecom",
        "short": "Phone number of the caregiver.",
        "definition": "Phone number of the caregiver.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "ContactPoint"
          }
        ]
      },
      {
        "id": "register-client-model.contact.telecom.system",
        "path": "register-client-model.contact.telecom.system",
        "short": "Type of communication (e.g., phone, email).",
        "definition": "Type of communication (e.g., phone, email).",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "code"
          }
        ]
      },
      {
        "id": "register-client-model.contact.telecom.value",
        "path": "register-client-model.contact.telecom.value",
        "short": "Caregiver's contact number or address.",
        "definition": "Caregiver's contact number or address.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.contact.relationship",
        "path": "register-client-model.contact.relationship",
        "short": "The relationship of the caregiver to the client.",
        "definition": "The relationship of the caregiver to the client.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.contact.relationship.text",
        "path": "register-client-model.contact.relationship.text",
        "short": "Caregiver relationship dsiplay text.",
        "definition": "Caregiver relationship dsiplay text.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.otherChildren",
        "path": "register-client-model.otherChildren",
        "short": "Any other children the mother has.",
        "definition": "Any other children the mother has.",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "BackboneElement"
          }
        ]
      },
      {
        "id": "register-client-model.otherChildren.name",
        "path": "register-client-model.otherChildren.name",
        "short": "The full name of the mother's other children.",
        "definition": "The full name of the mother's other children.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "string"
          }
        ]
      },
      {
        "id": "register-client-model.otherChildren.birthYear",
        "path": "register-client-model.otherChildren.birthYear",
        "short": "The year the mother's children were born.",
        "definition": "The year the mother's children were born.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "integer"
          }
        ]
      },
      {
        "id": "register-client-model.otherChildren.sex",
        "path": "register-client-model.otherChildren.sex",
        "code": [
          {
            "code": "NGGenderVS"
          }
        ],
        "short": "Biological characteristics that define humans as female or male.",
        "definition": "Biological characteristics that define humans as female or male.",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.healthStatus",
        "path": "register-client-model.healthStatus",
        "code": [
          {
            "code": "NGSiblingHealthStatusVS"
          }
        ],
        "short": "Overall physical, mental, and emotional well-being of the Sibling.",
        "definition": "Overall physical, mental, and emotional well-being of the Sibling.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.hivStatus",
        "path": "register-client-model.hivStatus",
        "code": [
          {
            "code": "NGHivStatusVS"
          }
        ],
        "short": "HIV status of the client.",
        "definition": "HIV status of the client.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      },
      {
        "id": "register-client-model.pregnancyStatus",
        "path": "register-client-model.pregnancyStatus",
        "code": [
          {
            "code": "NGPregnancyStatusVS"
          }
        ],
        "short": "Confirms whether the client is pregnant or not.",
        "definition": "Confirms whether the client is pregnant or not.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "CodeableConcept"
          }
        ]
      }
    ]
  }
}